
#ifndef FONTSETNOTEBOOK_H_
#define FONTSETNOTEBOOK_H_

#include "StringUtil.h"
#include <wx/aui/auibook.h>

class FontsetNotebook : public wxAuiNotebook
{
private:
    bool    mIsModified;
    bool    mViewGridlines;
    bool    mViewWidths;

    StringUtil::String  mAuthor;
    StringUtil::String  mNotes;
    StringUtil::String  mCopyright;

public:
    FontsetNotebook(void);
    FontsetNotebook( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxAUI_NB_DEFAULT_STYLE );
    ~FontsetNotebook(void);

    /** Create the notebook */
    bool Create(wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0);

    /** Add a page to the notebook */
    bool AddPage( wxWindow* page, const wxString& caption, bool select = false, const wxBitmap& bitmap = wxNullBitmap );

    /** Add a fontset page to the notebook */
    bool AddFontset();
    /** Add a fonset page with a given name to the notebook */
    bool AddFontset( const wxString& name );

    /** Clear the notebook by removing all pages */
    void Clear();

    /** Reset the notebook.  This will remove all existing pages, and add an initial page. */
    void Reset();

    /** Edit the project information.  This should be done when a new project is
        created, or anytime the user wishes to change the information.
    */
    void EditProjectInformation();

    bool IsModified() const;
    void Modify( bool mod );
    bool SaveFile( const wxString& filename );
    bool LoadFile( const wxString& filename );

    /** Set the view gridlines flag */
    void SetViewGridlines( bool flag );
    /** Get the view gridlines flag */
    bool GetViewGridlines() const;

    /** Set the view widths flag */
    void SetViewWidths( bool flag );
    /** Get the view widths flag */
    bool GetViewWidths() const;

protected:
};

#endif  // FONTSETNOTEBOOK_H_
